home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 19 / CD_ASCQ_19_010295.iso / dos / prg / pas / swag / win_os2.swg / 0045_64k TPW-OWL 64k Edit Control.pas < prev    next >
Pascal/Delphi Source File  |  1994-11-30  |  1KB  |  39 lines

  1. {
  2. From: jmillard@nmsu.edu (James B. Millard)
  3. I'll post this again.  This is my TPW/OWL version of the 64k edit control.
  4. I had to override the Create procedure (I also had to bring the
  5. AttachProperties procedure out of odialogs...).  I have put slightly more
  6. than 64k in this edit control.
  7. }
  8.  
  9. Function TEditEx.Create: Boolean;
  10. Var HParent            : HWnd;
  11.     EditDS, AInstance  : THandle;
  12.     EditDSPtr          : Pointer;
  13. Begin
  14.    DisableAutoCreate;
  15.    If (Parent=NIL) Then HParent:=0 Else HParent:=Parent^.HWindow;
  16.    EditDS:=GlobalAlloc(GMEM_DDEShare OR GMEM_Moveable OR GMEM_ZeroInit, 4096);
  17.    If (EditDS=0) Then AInstance:=HInstance
  18.    Else Begin
  19.       EditDSPtr:=GlobalLock(EditDS);
  20.       LocalInit(HiWord(LongInt(EditDSPtr)), 16, Word(GlobalSize(EditDS)-16));
  21.       UnlockSegment(HiWord(LongInt(EditDSPtr)));
  22.       AInstance:=HiWord(LongInt(EditDSPtr));
  23.    End;
  24.    If Register Then With Attr Do CreateWindowEx(ExStyle, GetClassName, Title,
  25.     Style, X, Y, W, H, HParent, Id, AInstance, Param);
  26.    HWindow:=GetDlgItem(HParent, Attr.ID);
  27.    If (HWindow=0) Then Status:=em_InvalidWindow
  28.    Else If (GetObjectPtr(HWindow)=NIL) Then Begin
  29.       AttachProperties(HWindow, @Self);
  30.       DefaultProc:=TFarProc(SetWindowLong(HWindow, gwl_WndProc,
  31. LongInt(Instance)));
  32.       SetupWindow;
  33.    End;
  34.    Create:=(Status=0);
  35.    SendMessage(HWindow, em_LimitText, 0, 0);
  36. End;
  37.  
  38.  
  39.